#ifndef PARTICLE_STRUCT
#define PARTICLE_STRUCT
#define THREAD_COUNT 256
#define EPSILON 1e-3
#define PI 3.1415926535
ByteAddressBuffer Simulation_Counter;

struct Particle
{
    bool alive;
    float3 position;
    float3 velocity;
    float2 life; //x = age, y = lifetime
    float4 color;
    float size;
};
float2 time; //x = delta time, y = elapsed time
float3 seeds;
float2 lifeRange; //x = min, y = max
float2 initialSpeedRange; //x = min, y = max
float3 inheritedPosition;
float3 inheritedVelocity;
float extrapolation;

float4 color;
float size;


float radius;
// private struct Particle
// {
//     public bool alive;
//     public Vector3 position;
//     public Vector3 velocity;
//     public Vector2 life; //x = age, y = lifetime
//     public Color color;
//     float size;
// }
int pingpongindex=0;



#endif